<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" th:href="@{/layui/css/layui.css}"  media="all">
    <script th:src="@{/layui/layui.js}" charset="utf-8"></script>
    <!-- 注意：如果你直接复制所有代码到本地，上述css路径需要改成你本地的 -->
</head>
<body>
<br>
<form class="layui-form" action="" id="form1">
    <div class="layui-form-item">
        <div class="layui-inline">
            <label class="layui-form-label">QQ</label>
            <div class="layui-input-inline">
                <input type="text" name="qq_no" id="qq_no" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label">WeChat号</label>
            <div class="layui-input-inline">
                <input type="text" name="wechat_no" id="wechat_no"  autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label">WeChat备注</label>
            <div class="layui-input-inline">
                <input type="text" name="wechat_mark" id="wechat_mark" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-inline">
            <button type="button" class="layui-btn layui-btn-sm" onclick="doSearch()" >Search</button>
            <button type="reset" class="layui-btn layui-btn-sm" >Reset</button>
        </div>
    </div>
</form>

<table class="layui-hide" id="test" lay-filter="test" lay-data="{id: 'idTest'}"></table>

<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
        <button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
    </div>
</script>

<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>



<!-- 注意：如果你直接复制所有代码到本地，上述js路径需要改成你本地的 -->

<script>
    var $,table;
    layui.use('table', function(){
        table = layui.table;
        $=layui.jquery;
        table.render({
            elem: '#test'
            ,url:'/courseorder/listJson'
            ,toolbar: '#toolbarDemo' //开启头部工具栏，并为其绑定左侧模板
            ,defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义，去除该参数即可
                title: '提示'
                ,layEvent: 'LAYTABLE_TIPS'
                ,icon: 'layui-icon-tips'
            }]
            ,title: '用户数据表'
            //"[[ ... ]]"之间的表达式在thymeleaf中被认为是内联表达式，造成渲染错误
            //解决方法1：将两个连续中括号分开
            //解决方法2：在<script>中添加属性“th:inline=none”，但会造成本页面中其他地方使用"[[...]]"的标签不能解析，因此不推荐采用，但具体情况具体分析。
            ,cols: [
                [
                {type: 'checkbox', fixed: 'left'}
                ,{field:'username', title:'名字', width:120}
                ,{field:'username', title:'微信备注', width:120}
                ,{field:'sex', title:'微信ID', width:120, sort: true}
                ,{field:'city', title:'QQ号', width:100}
                ,{field:'sign', title:'购买课程',width: 100}
                ,{field:'experience', title:'价格', width:80, sort: true}
                ,{field:'ip', title:'订单日期', width:120}
                ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
            ]
            ]
            ,page: true
            ,limit:7 //控制初始显示条数，默认10条
            ,limits:[6,8,10,12] //设置可选显示条数数量
        });

        //头工具栏事件
        table.on('toolbar(test)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id);
            switch(obj.event){
                case 'getCheckData':
                    var data = checkStatus.data;
                    layer.alert(JSON.stringify(data));
                    break;
                case 'getCheckLength':
                    var data = checkStatus.data;
                    layer.msg('选中了：'+ data.length + ' 个');
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选': '未全选');
                    break;
                case 'add':
                    parent.layer.open({
                        type:2,//2跳转到页面
                        offset:'auto',
                        title:'添加课程订单',
                        content:'/courseorder/add',
                        area:['1000px','500px'],
                        btn:'关闭全部',
                        btnAlign:'c',
                        yes:function (){
                            parent.layer.closeAll();
                        }
                    });
                    break;

                //自定义头工具栏右侧图标 - 提示
                case 'LAYTABLE_TIPS':
                    layer.alert('这是工具栏右侧自定义的一个图标按钮');
                    break;
            };
        });

        //监听行工具事件
        table.on('tool(test)', function(obj){
            var data = obj.data;
            //console.log(obj)
            if(obj.event === 'del'){
                layer.confirm('真的删除行么', function(index){
                    obj.del();
                    layer.close(index);
                });
            } else if(obj.event === 'edit'){
                layer.prompt({
                    formType: 2
                    ,value: data.email
                }, function(value, index){
                    obj.update({
                        email: value
                    });
                    layer.close(index);
                });
            }
        });

        //监听行双击事件
        table.on('rowDouble(test)',function (obj){
            var orderId = obj.data.order_Id;

           parent.layer.open({
               type:2,
               offset:'auto',
               title:'课程订单详情',
               content:'/courseorder/detail?order_id='+orderId,
               area:['1000px','600px'],
               btn:'关闭',
               btnAlign:'c',
               yes:function (){
                   parent.layer.closeAll();
               }
           });
        });


        //监听工具条
        table.on('tool(test)', function(obj){ //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
            var orderId = obj.data.order_id; //获得order_id
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）

            if(layEvent === 'detail'){ //查看
                //do somehing
            } else if(layEvent === 'del'){ //删除
                layer.confirm('真的删除行么', function(index){
                    obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                    layer.close(index);
                    //向服务端发送删除指令
                    $.get("/courseorder/delete",{order_id:orderId},function (reponseData){
                        if(reponseData.success == 1){
                            layer.msg("删除成功");
                        }else {
                            layer.msg("删除失败" + reponseData.msg);
                        }
                    });
                });
            } else if(layEvent === 'edit'){ //编辑
                parent.layer.open({
                    type:2,//2跳转到页面
                    offset:'auto',
                    title:'修改课程订单',
                    content:'/courseorder/edit?order_id=' + orderId,
                    area:['1000px','500px'],
                    btn:'关闭全部',
                    btnAlign:'c',
                    yes:function (){
                        parent.layer.closeAll();
                    }
                });
            }
        });
    });

    function doSearch(){
        //通过jquery获取参数
        var wechat_no = $('#wechat_no').val();
        var wechat_mark = $('#wechat_mark').val();
        var qq_no = $('#qq_no').val();
        //table.reload,附加上搜索条件
        table.reload('idTest', {
            //url: '/api/table/search'
            where: { //附加额外的参数//设定异步数据接口的额外参数，任意设
                wechat_no:wechat_no,
                wechat_mark:wechat_mark,
                qq_no:qq_no
        }//设定异步数据接口的额外参数
        ,page: {
                curr:1//重新从第 1 页开始
            }
        });//只重载数据
    }
</script>

</body>
</html>